package com.swanclouds.model.account;

import com.swanclouds.model.DeviceEntity;

import java.util.List;

/**
 * 用户组信息
 * @author 张立强
 * @version jdk1.8.0
 */
public interface IBMCUserGroup extends DeviceEntity {

    /**
     * 角色是否预定义
     * @return IsPredefined
     */
    Boolean isPredefined();

    /**
     * Redfish 定义的权限类型
     *
     * BMC: ConfigureComponents,ConfigureManager,ConfigureUsers,ConfigureSelf,Login
     * ConfigureComponents:常规配置,ConfigureManager:管理配置,ConfigureUsers:用户配置,ConfigureSelf:配置自身,Login:登录
     *
     * Huawei: ConfigureComponents,ConfigureUsers,ConfigureSelf,Login
     * ConfigureComponents:常规配置,ConfigureUsers:用户配置,ConfigureSelf:配置自身,Login:登录
     * @return java.util.List&lt;String&gt;
     */
    List<String> getAssignedPrivileges();

    /**
     * 服务器自定义的权限类型
     *
     * BMC: SNMP,Vmedia,KVM
     *
     * Huawei: OemKvm,OemVmm,OemSecurityMgmt,OemPowerControl,OemDiagnosis
     * OemKvm：远程控制,OemVmm：远程媒体,OemSecurityMgmt：安全配置,OemPowerControl：电源控制,OemDiagnosis：调试诊断
     * @return java.util.List&lt;String&gt;
     */
    List<String> getOemPrivileges();

    /**
     * 用户组角色信息，包括： Administrator  Operator  User  None  Oem
     * @return RoleId;
     */
    String getRoleId();
}
